#ifndef __MAP_H__
#define __MAP_H__

#define COLOR_RESET "\033[0m"
#define COLOR_RED "\033[31m"
#define COLOR_GREEN "\033[32m"
#define COLOR_YELLOW "\033[33m"
#define COLOR_BLUE "\033[34m"
#define COLOR_MAGENTA "\033[35m"
#define COLOR_CYAN "\033[36m"
#define COLOR_WHITE "\033[37m"

typedef struct map
{
    char map_name[20]; // 地图名称
    int map_width;     // 地图宽度
    int map_height;    // 地图高度
    int map[15][20];   // 地图信息
} map_t, *map_p;

// 地图信息
enum MapObject
{
    EMPTY,       // 空地
    WALL,        // 墙
    PLAYER,      // 玩家  2
    PORTAL_UP,   // 传送门（上） 3
    PORTAL_DOWN, // 传送门（下） 4
    DOOR_BRONZE, // 青铜门  5
    DOOR_SILVER, // 白银门  6
    DOOR_GOLD,   // 黄金门  7
    CHEST,       // 宝箱    8
    SLIME = 31,  // 史莱姆  31
    BOSS = 71,   // BOSS 骷髅队长  71
};

map_p mapInit();
void chess(map_p map);
char *getMapName(int map_index);
#endif
